// 列表转树形函数
// list:待转换的列表
// pid:查找几级部门
export function arr2Tree(list, pid) {
  // console.log('🚀 ~ file: shift.js:5 ~ arr2Tree ~ list:', list)
  // 存储结果的树形数组
  const arr = []
  // 遍历list数组
  list.forEach(item => {
    // 查找一级部门，=== 空，因为一级pid为''
    if (item.pid === pid) {
      // 查找二级甚至是多级部门
      // 函数递归,查找item的子部门
      // 会进行item.pid === item.id的对比，返回arr,有相等的则arr不为空
      const children = arr2Tree(list, item.id)
      // 如果children不为空，说明item有子部门
      // 需要给item添加children属性
      if (children.length) {
        item.children = children
      }
      // 添加一级部门到结果树形数组中
      arr.push(item)
    }
  })
  // console.log('arr--', arr)
  return arr
}
